
/**
 * Append any supplied arguments to the end of the array, in the order given.
 * @return the new length of the array
 * @author <a href="http://hexmen.com/blog/">Ash Searle</a>
 * @license http://creativecommons.org/licenses/by/2.5/
 */
if (typeof Array.prototype.push === 'undefined')
{
	Array.prototype.push = function()
	{
		var n = this.length >>> 0;
		for (var i = 0; i < arguments.length; i++)
		{
			this[n] = arguments[i];
			n = n + 1 >>> 0;
		}
		this.length = n;
		return n;
	}
}

/**
 * Remove the last element of the array and return it.
 * @return the element removed (if any), otherwise return <code>undefined</code>
 * @author <a href="http://hexmen.com/blog/">Ash Searle</a>
 * @license http://creativecommons.org/licenses/by/2.5/
 */
if (typeof Array.prototype.pop === 'undefined')
{
	Array.prototype.pop = function()
	{
		var n = this.length >>> 0, value;
		if (n)
		{
			value = this[--n];
			delete this[n];
		}
		this.length = n;
		return value;
	}
}
